PHP SDK API文档

本文档将详细介绍PHP SDK的API,如果您想要了解如何接入,建议您阅读PHP SDK 使用指南获得安装并使用SDK的方法。您可以在访问GitHub获取PHP SDK的源代码。

最新版本为:1.1.0

更新时间为:2019-09-12

一、实例化类

Python SDK共提供三种Consumer,分别为直接上传数据的BatchConsumer,写入本地文件的FileConsumer,以及用于测试的DebugConsumer

1. BatchConsumer:批量实时地向服务器传输数据(不建议在生产环境中使用)

public BatchConsumer($server_url, $appid, $max_size = 50, $request_timeout = 1000)
    /**
     * 批量实时地向TA服务器传输数据,不需要搭配传输工具. 不建议在生产环境中使用,不支持多线程
     * 实例化一个BatchConsumer对象
     * @param $server_url 服务端接口url
     * @param $appid 项目appid
     * @param $max_size 最大的flush值,默认为50
     * @param $request_timeout http的timeout,默认1000s
     **/

2. FileConsumer:批量实时地向指定路径写本地文件

public FileConsumer($file_directory = '.', $file_size = 1024, $rotate_hourly = false)
    /**
     * 批量实时写本地文件,文件以天为分隔,需要与 LogBus 搭配使用进行数据上传. 建议使用,不支持多线程
     * 创建指定文件保存目录和指定单个日志文件大小的 FileConsumer
     * @param string $file_directory 日志文件保存目录. 默认为当前目录
     * @param int $file_size 单个日志文件大小. 单位 MB, 默认为 1024 MB
     * @param bool $rotate_hourly 是否按小时切分文件,默认1024MB切分大小
     **/

3. DebugConsumer: 逐条实时向 TA 服务器传输数据,如果数据出错,则不入库并返回错误信息(只作校验用)

public  DebugConsumer($server_url, $appid, $request_timeout = 1000) 
    /**
     * 逐条传输数据,如果发送失败则抛出异常
     * 创建给定配置的 DebugConsumer 对象
     * @param $server_url 接收端 url
     * @param $appid 项目 APP ID
     * @param $request_timeout http 的 timeout,默认 1000s
     */

4. 获取SDK实例

public ThinkingDataAnalytics($consumer)
    /**
     * 获取SDK实例
     * @param $consumer: 使用的Consumer,决定数据格式化和传输的方式.
     **/

二、数据操作:

1. 上传事件

track($distinct_id, $account_id, $event_name, $properties = array())
    /**
     * 上传一个事件
     * @param string $distinct_id:用户未登录状态下的访客ID
     * @param string $account_id:账号ID,账号ID与访客ID必须传入一个
     * @param string $event_name:事件名
     * @param array $properties:传入的事件属性
     * @return boolean
     * @throws Exception 数据传输,或者写文件失败
     **/

2. 设置公共属性

register_public_properties($super_properties)
    /**
     * 设置每个事件都带有的公共属性,当 track 的属性和公共属性有相同的 key 时,将采用 track 的属性
     * @param array $super_properties:公共属性
     **/

3. 清除公共属性

clear_public_properties()
    /**
     * 删除所有已设置的公共事件属性
     **/

4. 设置用户属性

user_set($distinct_id, $account_id, $properties = array())
    /**
     * 设置用户属性,如果该用户已经存在该属性,则覆盖,如果不存在则新建该属性
     * @param string $distinct_id:用户未登录状态下的访客ID
     * @param string $account_id:账号ID,账号ID与访客ID必须传入一个
     * @param array $properties:设置的用户属性
     * @return boolean
     * @throws Exception 数据传输,或者写文件失败
     **/

5. 设置单次用户属性

user_setOnce($distinct_id, $account_id, $properties = array())
    /**
     * 设置用户属性,如果该用户已经存在该属性,不进行覆盖,如果不存在则新建该属性
     * @param string $distinct_id:用户未登录状态下的访客ID
     * @param string $account_id:账号ID,账号ID与访客ID必须传入一个
     * @param array $properties:设置的用户属性
     * @return boolean
     * @throws Exception 数据传输,或者写文件失败
     **/

6. 累加用户属性

user_add($distinct_id, $account_id, $properties = array())
    /**
     * 累加用户属性,只支持数值型的属性做累加操作
     * @param string $distinct_id:用户未登录状态下的访客ID
     * @param string $account_id:账号ID,账号ID与访客ID必须传入一个
     * @param array $properties:设置的用户属性
     * @return boolean
     * @throws Exception 数据传输,或者写文件失败
     **/

7. 删除用户

user_del($distinct_id, $account_id, $properties = array())
    /**
     * 删除用户,请注意该操作可能产生不可逆的后果,请慎用
     * @param string $distinct_id:用户未登录状态下的访客ID
     * @param string $account_id:账号ID,账号ID与访客ID必须传入一个
     * @param array $properties:无意义,可以不设置
     * @return boolean
     * @throws Exception 数据传输,或者写文件失败
     **/

8. 立即上传数据

flush()
    /**
     * 立即提交数据到相应的接收器
     **/

9. 关闭并退出SDK

close()
    /**
     * 关闭并退出sdk,将缓存中的数据发送至服务器
     **/

results matching ""

    No results matching ""